export let PDALOGIC = {
  name: '条件逻辑',
  list: [
    {
      name: '逻辑判断',
      event: 'pdaLogicJudge',
      explain:
        '将上一次动作的传递数据进行条件判断，若条件成立则将子动作追加至当前动作之后（拖拽至当前动作下的动作视为子动作）。传递数据为上次动作传递数据。',
      extension: {
        logicConfig: {
          type: 'exLogic',
          value: {
            type: 1, // 1:请求成功；2:请求失败；3:字段值判断
            field: '',
            conditionVal: '',
            conditionType: 'value',
            conditionState: '',
            conditionList: [],
            rejectMessage: '', // 判断失败时的提示消息
            executeResoveItem: false, // 多选时判断失败是否执行成功项
            compareField: '',
            note: '', //逻辑判断备注
            flag: 'PDA', // PDA逻辑判断里的失败提示隐藏标识
          },
        },
      },
      actions: [],
      elseActions: [],
    },
    {
      name: '算数运算(加减乘除)',
      event: 'arithmeticOperation',
      explain: '获取上次任务传递数据，运行算数运算式，将得到的结果往下传递。传递数据为运算结果。',
      extension: {
        arithmeticList: {
          type: 'exArithmetic',
          value: [{ keyField: '', valueExpression: '' }],
          name: '',
        },
      },
    },
    {
      name: '判断值是否存在表格中',
      event: 'dataInsertTable',
      explain: '获取输入框的值与表格中的值来相对比,以此来校验重复值',
      extension: {
        TableObject: {
          type: 'exPdaGetData',
          name: '查询表单',
          value: {
            type: 1,
            source: [],
            hasCheckbox: false,
            dataType: 'table',
          },
        },
        getDataKey: {
          name: '查询数据Key',
          type: 'exInput',
          value: '',
          // tooltip: '通过 key 筛选数据；多个 key 用 ‘,’ 分隔。',
        },
      },
      actions: [],
    },
    {
      name: '数据赋值',
      event: 'pdaInjectData',
      explain:
        '给组件注入 formData 。可注入自定义数据，也可注入从其他组件获取的值。当打开 ‘使用上次任务数据’ 时，就注入当前动作队列中上次动作的传递数据（若为表格组件触发的事件则注入数据为表格选中数据）。传递数据为上一个动作的传递数据 ',
      extension: {
        receiveObject: {
          type: 'exPdaGetData',
          name: '数据接收者',
          value: {
            type: 1,
            source: [],
            hasCheckbox: true,
          },
        },
        pdaInjectData: {
          type: 'exPdaDiyData',
          useLastData: true,
          getDataKey: '',
          injectDataKey: '', // 注入数据key 与获取数据key对应（用于转换数据key的场景）
          getDataPath: '',
          customParam: '', //自定义参数
          value: [
            {
              key: '',
              value: '',
            },
          ],
        },
      },
    },
    /* {
      name: 'PDA综合提示',
      event: 'msgFoucsAudio',
      explain: '播放声音/光标聚焦/提示语三合为一，以提示用户分辨',
      extension: {
        useLastData: {
          type: 'exSwitch',
          value: false,
          name: '使用上个任务数据',
        },
        message: {
          type: 'exInput',
          name: '消息内容',
          value: '',
          tooltip: '如果使用上个任务数据则输入获取数据Key ( 如需深度取值则使用 -> 符号分割 ) ; 如果不使用上个任务数据则输入消息内容！',
        },
        audioType: exSelect('声音类型', 'success', [
          { value: 'no', label: '无' },
          { value: 'success', label: '正确提示音' },
          { value: 'error', label: '错误提示音' },
          { value: 'water', label: '水滴提示音' },
          { value: 'papa', label: '拍手提示音' },
          { value: 'ring', label: '铃铛提示音' },
          { value: 'ding', label: '叮叮提示音' },
        ]),
        formItemSelect: {
          type: 'exPdaTreeSelect',
          name: '光标聚焦',
          value: [],
          hasCheckbox: false,
          treeData: '$getPageModules',
          filter: '',
        },
      },
    },
    {
      name: '光标聚焦',
      event: 'cursorFocus',
      explain: '光标聚焦到你选中的输入框，以提示用户方便用户下一步操作。无数据传递',
      extension: {
        formItemSelect: {
          type: 'exTreeSelect',
          name: '表单项选择',
          value: [],
          hasCheckbox: false,
          treeData: '$getPageModules',
          filter: '',
        },
      },
    },
    {
      name: '消息提示',
      event: 'pdaShowMessage',
      explain: '弹出一个消息提示，以提示用户。无传递数据。',
      extension: {
        useLastData: {
          type: 'exSwitch',
          value: false,
          name: '使用上个任务数据',
        },
        message: {
          type: 'exInput',
          name: '消息内容',
          value: '',
          tooltip: '如果使用上个任务数据则输入获取数据Key ( 如需深度取值则使用 -> 符号分割 ) ; 如果不使用上个任务数据则输入消息内容！',
        },
      },
    },
    {
      name: '弹框提示',
      event: 'pdaShowModal',
      explain: '弹出一个消息提示，以提示用户。无传递数据。',
      extension: {
        useLastData: {
          type: 'exSwitch',
          value: false,
          name: '使用上个任务数据',
        },

        message: {
          type: 'exInput',
          name: '消息内容',
          value: '',
          tooltip: '如果使用上个任务数据则输入获取数据Key ( 如需深度取值则使用 -> 符号分割 ) ; 如果不使用上个任务数据则输入消息内容！',
        },
        title: {
          type: 'exInput',
          name: '标题',
          value: '',
        },
        btnControls: {
          type: 'exSwitch',
          name: '取消按钮',
          value: false,
        },
      },
    }, */
    {
      name: '字符串操作',
      event: 'strHandle',
      explain: '对某个组件进行截取，分割，拼接等操作',
      extension: {
        strHandleFuc: {
          type: 'exStrFun',
          name: '字符串操作',
          intercept: [], //字符串是否截取
          division: [], // 分割
          replace: [], // 替换
          value: {},
        },
      },
    },
    {
      name: '调用组件方法',
      event: 'callMethod',
      explain: '自动调用选中的组件的动作下配置的逻辑',
      extension: {
        moduleId: {
          type: 'exPdacallMethod',
          name: '组件选择',
          value: [],
          hasCheckbox: false,
          event: [],
          option: [],
          eventValue: '',
        },
      },
    },
    {
      name: '运行代码',
      event: 'pdaRunCode',
      explain: '执行配置的代码。传递数据上次动作数据。',
      extension: {
        codeContent: {
          type: 'exCode',
          name: 'javascript代码',
          value: '',
        },
      },
    },
    /* {
      name: 'PDA组件隐藏',
      event: 'hidenBatch',
      explain: '将pda表单项组件(主要批次属性)状态切换为隐藏状态。无传递数据。',
      extension: {
        moduleId: {
          type: 'exPdaTreeSelect',
          name: '组件选择',
          value: [],
          hasCheckbox: true,
          treeData: '$getPageModules',
        },
      },
    },
    {
      name: 'PDA组件显示',
      event: 'showModule',
      explain: '将表单项组件状态切换为显示状态。无传递数据。',
      extension: {
        moduleId: {
          type: 'exPdaTreeSelect',
          name: '组件选择',
          value: [],
          hasCheckbox: true,
          treeData: '$getPageModules',
        },
      },
    }, */
  ],
}
